// 游戏配置
class GameConfig {
    static get config() {
        // 检测移动设备
        const isMobile = window.innerWidth <= 800 || /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);
        
        // 根据设备调整游戏配置
        const width = isMobile ? Math.min(window.innerWidth, 800) : 800;
        const height = isMobile ? Math.min(window.innerHeight, 600) : 600;
        
        return {
            type: Phaser.AUTO,
            version: '1.1.1',
            width: width,
            height: height,
            parent: 'gameContainer',
            backgroundColor: '#2c3e50',
            scale: {
                mode: Phaser.Scale.FIT,
                autoCenter: Phaser.Scale.CENTER_BOTH,
                min: {
                    width: 400,
                    height: 300
                },
                max: {
                    width: 1600,
                    height: 1200
                }
            },
            physics: {
                default: 'arcade',
                arcade: {
                    gravity: { y: 0 },
                    debug: false
                }
            },
            scene: [MainMenu, PixelSurvivor, Achievements, Settings],
            input: {
                activePointers: 2
            }
        };
    }
    
    static get playerDefaults() {
        return {
            // === 核心属性 ===
            health: 100,
            maxHealth: 100,
            mana: 50,               // 法力值
            maxMana: 50,            // 最大法力值
            energy: 100,            // 能量值
            maxEnergy: 100,         // 最大能量值
            
            // === 主要属性 ===
            strength: 10,           // 力量 - 影响物理攻击和生命
            agility: 10,            // 敏捷 - 影响速度和暴击
            intelligence: 10,       // 智力 - 影响法术伤害和法力
            vitality: 10,           // 体力 - 影响生命和防御
            luck: 10,               // 幸运 - 影响暴击和掉落
            
            // === 战斗属性 ===
            // 攻击相关
            damage: 10,             // 基础伤害
            physicalDamage: 0,      // 物理伤害加成
            magicalDamage: 0,       // 魔法伤害加成
            trueDamage: 0,          // 真实伤害
            elementalDamage: 0,     // 元素伤害
            
            // 暴击系统
            critChance: 0.05,       // 暴击率 (5%)
            critDamage: 1.5,        // 暴击伤害倍数 (150%)
            critMultiplier: 1.0,    // 暴击倍数加成
            
            // 攻击速度和射击
            attackSpeed: 1.0,       // 攻击速度倍数
            fireRate: 500,          // 射击间隔(ms)
            castSpeed: 1.0,         // 施法速度
            reloadSpeed: 1.0,       // 装填速度
            
            // 射击属性
            range: 200,             // 射程
            accuracy: 0.95,         // 精准度
            piercing: 0,            // 穿透数量
            multishot: 1,           // 多重射击
            ricochet: 0,            // 弹射次数
            
            // 弹丸属性
            projectileSpeed: 1.0,   // 弹丸速度倍数
            projectileSize: 1.0,    // 弹丸大小
            explosionRadius: 0,     // 爆炸半径
            
            // === 防御属性 ===
            defense: 0,             // 物理防御
            magicResistance: 0,     // 魔法抗性
            armor: 0,               // 护甲值
            damageReduction: 0,     // 伤害减免百分比
            
            // 闪避和格挡
            dodgeChance: 0,         // 闪避率
            blockChance: 0,         // 格挡率
            blockValue: 0,          // 格挡值
            parryChance: 0,         // 招架率
            
            // 护盾系统
            shield: 0,              // 当前护盾值
            maxShield: 0,           // 最大护盾值
            shieldRegenRate: 0,     // 护盾回复速度
            shieldRegenDelay: 3000, // 护盾回复延迟
            
            // === 恢复属性 ===
            healthRegen: 0,         // 生命回复/秒
            manaRegen: 0,           // 法力回复/秒
            energyRegen: 2,         // 能量回复/秒
            lifeSteal: 0,           // 生命偷取百分比
            manaSteal: 0,           // 法力偷取百分比
            
            // === 移动属性 ===
            speed: 150,             // 基础移动速度
            moveSpeed: 1.0,         // 移动速度倍数
            sprintSpeed: 1.3,       // 冲刺速度倍数
            dashDistance: 0,        // 瞬移距离
            dashCooldown: 0,        // 瞬移冷却
            jumpHeight: 0,          // 跳跃高度
            
            // === 资源属性 ===
            expMultiplier: 1.0,     // 经验获取倍数
            goldMultiplier: 1.0,    // 金币获取倍数
            dropRateBonus: 0,       // 掉落率加成
            findTreasureChance: 0,  // 寻宝率
            
            // === 特殊效果 ===
            // 状态效果
            statusResistance: 0,    // 状态抗性
            immunityDuration: 0,    // 免疫持续时间
            stunResistance: 0,      // 眩晕抗性
            slowResistance: 0,      // 减速抗性
            
            // 击退和控制
            knockback: 0,           // 击退力
            knockbackResistance: 0, // 击退抗性
            freezeChance: 0,        // 冰冻几率
            burnChance: 0,          // 燃烧几率
            poisonChance: 0,        // 中毒几率
            
            // 范围效果
            areaOfEffect: 1.0,      // 范围效果倍数
            splashDamage: 0,        // 溅射伤害
            chainLightning: 0,      // 连锁闪电次数
            
            // === 技能属性 ===
            skillCooldownReduction: 0,  // 技能冷却缩减
            skillDamageBonus: 0,        // 技能伤害加成
            skillRange: 1.0,            // 技能范围倍数
            skillDuration: 1.0,         // 技能持续时间倍数
            
            // === 生存属性 ===
            reviveChance: 0,        // 复活几率
            deathSaveChance: 0,     // 死亡豁免几率
            damageReflection: 0,    // 伤害反射
            thorns: 0,              // 荆棘伤害
            
            // === 武器专精 ===
            weaponDamageBonus: 0,   // 武器伤害加成
            pistolMastery: 0,       // 手枪专精
            shotgunMastery: 0,      // 霰弹枪专精
            rifleMastery: 0,        // 步枪专精
            machinegunMastery: 0,   // 机枪专精
            laserMastery: 0,        // 激光专精
            
            // === 弹药属性 ===
            ammoCapacity: 1.0,      // 弹药容量倍数
            ammoRegenRate: 0,       // 弹药回复速度
            infiniteAmmoChance: 0,  // 无限弹药几率
            
            // === 高级属性 ===
            timeDistortion: 1.0,    // 时间扭曲(影响游戏速度)
            criticalReflection: 0,  // 暴击反射
            vampirism: 0,           // 吸血
            berserker: 0,           // 狂暴(低血量时伤害加成)
            focus: 0,               // 专注(连续命中伤害加成)
            combo: 0,               // 连击系统
            
            // === 运气系统 ===
            luckBonus: 0,           // 幸运加成
            criticalLuckBonus: 0,   // 暴击幸运加成
            treasureHunting: 0,     // 寻宝技能
            gamblingBonus: 0        // 赌博奖励
        };
    }

    // 属性分类定义
    static get attributeCategories() {
        return {
            core: ['health', 'maxHealth', 'mana', 'maxMana', 'energy', 'maxEnergy'],
            primary: ['strength', 'agility', 'intelligence', 'vitality', 'luck'],
            combat: ['damage', 'physicalDamage', 'magicalDamage', 'critChance', 'critDamage', 'attackSpeed'],
            defense: ['defense', 'magicResistance', 'dodgeChance', 'blockChance', 'damageReduction'],
            recovery: ['healthRegen', 'manaRegen', 'energyRegen', 'lifeSteal', 'manaSteal'],
            movement: ['speed', 'moveSpeed', 'sprintSpeed', 'dashDistance', 'dashCooldown'],
            ranged: ['range', 'accuracy', 'piercing', 'multishot', 'projectileSpeed'],
            resources: ['expMultiplier', 'goldMultiplier', 'dropRateBonus', 'findTreasureChance'],
            special: ['statusResistance', 'knockback', 'areaOfEffect', 'skillCooldownReduction'],
            mastery: ['pistolMastery', 'shotgunMastery', 'rifleMastery', 'machinegunMastery', 'laserMastery'],
            advanced: ['timeDistortion', 'vampirism', 'berserker', 'focus', 'combo']
        };
    }

    // 属性显示名称
    static get attributeDisplayNames() {
        return {
            // 核心属性
            health: '生命值',
            maxHealth: '最大生命值',
            mana: '法力值',
            maxMana: '最大法力值',
            energy: '能量值',
            maxEnergy: '最大能量值',
            
            // 主要属性
            strength: '力量',
            agility: '敏捷',
            intelligence: '智力',
            vitality: '体力',
            luck: '幸运',
            
            // 战斗属性
            damage: '基础伤害',
            physicalDamage: '物理伤害',
            magicalDamage: '魔法伤害',
            trueDamage: '真实伤害',
            elementalDamage: '元素伤害',
            
            critChance: '暴击率',
            critDamage: '暴击伤害',
            critMultiplier: '暴击倍数',
            
            attackSpeed: '攻击速度',
            fireRate: '射击间隔',
            castSpeed: '施法速度',
            
            range: '射程',
            accuracy: '精准度',
            piercing: '穿透',
            multishot: '多重射击',
            ricochet: '弹射',
            
            // 防御属性
            defense: '物理防御',
            magicResistance: '魔法抗性',
            armor: '护甲值',
            damageReduction: '伤害减免',
            
            dodgeChance: '闪避率',
            blockChance: '格挡率',
            blockValue: '格挡值',
            parryChance: '招架率',
            
            shield: '护盾值',
            maxShield: '最大护盾',
            shieldRegenRate: '护盾回复',
            
            // 恢复属性
            healthRegen: '生命回复',
            manaRegen: '法力回复',
            energyRegen: '能量回复',
            lifeSteal: '生命偷取',
            manaSteal: '法力偷取',
            
            // 移动属性
            speed: '移动速度',
            moveSpeed: '速度倍数',
            sprintSpeed: '冲刺速度',
            dashDistance: '瞬移距离',
            dashCooldown: '瞬移冷却',
            
            // 资源属性
            expMultiplier: '经验倍数',
            goldMultiplier: '金币倍数',
            dropRateBonus: '掉落率',
            findTreasureChance: '寻宝率',
            
            // 特殊属性
            statusResistance: '状态抗性',
            immunityDuration: '免疫时间',
            knockback: '击退力',
            knockbackResistance: '击退抗性',
            areaOfEffect: '范围效果',
            splashDamage: '溅射伤害',
            chainLightning: '连锁闪电',
            
            // 技能属性
            skillCooldownReduction: '冷却缩减',
            skillDamageBonus: '技能伤害',
            skillRange: '技能范围',
            skillDuration: '技能持续',
            
            // 生存属性
            reviveChance: '复活几率',
            deathSaveChance: '死亡豁免',
            damageReflection: '伤害反射',
            thorns: '荆棘伤害',
            
            // 武器专精
            weaponDamageBonus: '武器伤害',
            pistolMastery: '手枪专精',
            shotgunMastery: '霰弹枪专精',
            rifleMastery: '步枪专精',
            machinegunMastery: '机枪专精',
            laserMastery: '激光专精',
            
            // 弹药属性
            ammoCapacity: '弹药容量',
            ammoRegenRate: '弹药回复',
            infiniteAmmoChance: '无限弹药',
            
            // 高级属性
            timeDistortion: '时间扭曲',
            criticalReflection: '暴击反射',
            vampirism: '吸血',
            berserker: '狂暴',
            focus: '专注',
            combo: '连击',
            
            // 运气系统
            luckBonus: '幸运加成',
            criticalLuckBonus: '暴击幸运',
            treasureHunting: '寻宝技能',
            gamblingBonus: '赌博奖励'
        };
    }

    static isMobile() {
        return window.innerWidth <= 800 || /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);
    }
}